package com.hmall.api.client;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.Collection;

/**
 * 购物车服务Feign客户端
 * 功能：通过Feign远程调用cart-service的购物车管理接口
 */
@FeignClient(name = "cart-service") // 指定服务名，用于服务发现
public interface CartClient {

    /**
     * 批量删除购物车商品
     * @param ids 商品ID集合
     * @apiNote 对应cart-service的DELETE /carts接口
     */
    @DeleteMapping("/carts") // 映射服务的请求路径和方法
    void deleteCartItemByIds(
            @RequestParam("ids") Collection<Long> ids // 将集合参数转为多个同名参数（ids=1&ids=2）
    );
}